// pages/OutOfStockRegistration/OutOfStockRegistration.js
import {
  uploadImage
} from "../../service/file"
import Notify from '@vant/weapp/notify/notify';
import {
  addNewApplication
} from "../../service/out-of-stock-registration"
import Toast from '@vant/weapp/toast/toast';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 商品名称
    productName: "",
    // 商品品牌
    brandName: "",
    // 规格型号
    specificationName: "",
    // 商品图片
    productImages: []
  },
  /**
   * 点击立即提交
   */
  async onTapSubmitButton() {
    console.log(this.data);
    if(!this.data.productName){
      Notify({ type: 'danger', message: '请输入商品名称！' });
      return
    }
    const params = {}
    params.productName = this.data.productName
    params.brandName = this.data.brandName
    params.productSpecificationName = this.data.specificationName
    params.productImages = this.data.productImages
    await addNewApplication(params)
    Toast.success('感谢反馈！');
    wx.navigateBack()
  },
  /**
   * 点击新增图片按钮
   */
  onTapAddProductImage() {
    if (this.data.productImages.length >= 3) {
      wx.showToast({
        title: '最多添加三张图片！', // 原文本保留，支持换行
        icon: 'none', // 关键：无图标模式允许换行
        color: '#e8543b', // 错误红色，与原生 error 图标配色一致
        mask: true,
      });
      return
    }
    const self = this
    wx.chooseMedia({
      count: 3,
      mediaType: ["image"],
      sourceType: ['album', 'camera'],
      sizeType: ['original', 'compressed'],
      success: async (res) => {
        wx.showLoading({
          title: '上传中',
        })
        console.log(res);
        const files = res.tempFiles.map(item => item.tempFilePath)
        if ((this.data.productImages.length + files.length) > 3) {
          wx.showToast({
            title: '最多添加三张图片！', // 原文本保留，支持换行
            icon: 'none', // 关键：无图标模式允许换行
            color: '#e8543b', // 错误红色，与原生 error 图标配色一致
            mask: true,
          });
          return
        }
        let promiseArr = []
        for (let i = 0; i < files.length; i++) {
          promiseArr.push(uploadImage(files[i]))
        }
        const resList = await Promise.all(promiseArr)
        self.setData({
          productImages: [...self.data.productImages, ...resList.map(item => item.data)]
        })
        console.log(this.data);
        wx.hideLoading()
      },
      fail: (err) => {
        console.log(err);
      }
    })
  },
  onTapDeleteImage(event) {
    const index = event.currentTarget.dataset.index
    this.data.productImages.splice(index, 1)
    this.setData({
      productImages: this.data.productImages
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})